print('#############高级特性，切片，list集合，取前三个元素，类似于Java中的字符串截取函数#############')
NAME_LIST = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack', 'Bob', 'Mary']
temp = [NAME_LIST[0], NAME_LIST[1], NAME_LIST[2]]
print("新建一个集合：", temp)
temp = []
n = 3
for i in range(n):
    temp.append(NAME_LIST[i])
print("使用for循环遍历集合：", temp)
print("使用切片：为0可以省略：", NAME_LIST[0:3])
print("使用切片：为0可以省略：", NAME_LIST[:3])
print("使用切片（倒数）：为0可以省略：", NAME_LIST[-2:-1])
print("使用切片（倒数）：为0可以省略：", NAME_LIST[-2:])
print("按照步长为2进行切片：", NAME_LIST[::2])
print('#############新建一个list#############')
list = list(range(100))
print(list)
print(list[:10])
print(list[-100:-90])
print('#############复制一个list#############')
list2 = list[:]
print(list2)
print('#############tuple的切片#############')
t = (1, 2, 3, 4, 5)
print(t[2:4])
print('#############字符串的切片#############')
str1 = '    ABCDEFG   '
print(str1[4:6])
print('#############写一个字符串的trim()函数#############')


# 自定义方法，去除字符串的空格
def trim(s):
    if not isinstance(s, (str,)):
        raise TypeError('s is not str type')
    while s[:1] == ' ':
        s = s[1:]  # 不包括最后一个
    while s[-1] == ' ':
        s = s[:-1]  # 不包括-1
    return s


print('字符串的trim()方法', trim('    fhaj  ljjk       '))
print('纯空格的trim()方法', trim('                     '))
